Systems and methods for illuminant estimation

ABSTRACT

Embodiments of the present invention comprise systems and methods for estimation of an image illuminant.

TECHNICAL FIELD

The present invention relates generally to digital image processing and more particularly to methods and systems for estimation of an image illuminant.

BACKGROUND

Colors viewed in an image are dependent on the light that illuminates the subject of the image. Different illuminants will cause different light to be reflected from surfaces of the image subject matter. The human visual system approximately corrects these variations in reflected light such that surfaces remain approximately color constant. However, when images are captured on media and viewed under a light source different than the source in the imaged scene, these natural corrections do not take place. Accordingly, it is often desirable for recorded images to be color-balanced to a standard, reference light source in order to appear as they would to the natural eye. This balancing or color correction can be performed once the scene illuminant is identified.

Estimating the color parameters of an image illuminant is an important first step in color correcting a digital image. In a strict model-matching scheme, the accuracy of the estimation is often limited by the size of the model base. This is because illuminant parameter values are explicitly available only at the predefined model positions and because the match procedure itself typically reduces to selection of the “best-fit” model from within a limited set. Increasing the number of models can improve accuracy. However, additional memory is required to store the larger set of models and additional time is required to match against all models in the larger model base.

Under known methods, illuminant estimation employs a fixed set of known illuminants, which are each characterized by the gamut of color values that are possible under that illuminant. A color histogram is computed for the image and is compared with each of the model histograms using some form of match metric such as intersection, correlation, minimum distance, etc. The match metric is used to select the model that best accounts for the image data from the set of illuminants.

SUMMARY

Embodiments of the present invention increase illuminant or colorbalance correction estimation accuracy by fitting an analytic form to the match surface derived from initial comparisons of the image data against the model base. The analytic form may then be used to interpolate between model data.

BRIEF DESCRIPTION OF THE DRAWINGS

The present embodiments will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only typical embodiments and are, therefore, not to be considered limiting of the invention's scope, the embodiments will be described with additional specificity and detail through use of the accompanying drawings in which:

FIG. 1 a is a diagram illustrating a set of candidate illuminants as x-y chromaticity coordinates; and

FIG. 2 is a diagram of an exemplary match score surface.

DETAILED DESCRIPTION

Illuminant estimation may be approached through a model matching strategy. In such a regime, a fixed set of illuminants is modeled. Modeling may be performed parametrically, by sample statistics or by other methods. The model that best accounts for the image data is chosen as the scene illuminant most likely to have produced the image. This decision process relies on computing a similar parametric or statistical description from the image and then performing a matching procedure of the image description with respect to the model base in order to select the “best” model.

An exemplary model set, shown in FIG. 1, consists of 81 illuminants plotted in x-y chromaticity space. Chromaticity coordinates are shown as dots 2. In this particular example, these coordinates have been regularly sampled in CIE-Lab coordinates centered on the D65 white point 4, which is a daylight reference illuminant. The coordinates are then mapped to x-y chromaticity space as displayed in FIG. 1.

In some embodiments of the present invention, a match surface is calculated to estimate a likelihood of each illuminant being the illuminant of a particular image. In some embodiments, each image element, such as a pixel, is compared to the series of model illuminants to determine a match score, which is an indicator of the likelihood of being the illuminant of that element of the image.

An exemplary match surface is shown in FIG. 2, which is a plot of x and y chromaticity and the match score. In this plot, the chromaticity of each candidate or model illuminant is plotted on the horizontal axes while the vertical axis represents the likelihood of being the image illuminant or match score. In some embodiments, a fixed set of illuminants, which may or may not occupy a conventional grid, identifies the horizontal position of a point of the match surface. An analysis of each illuminant in the fixed set with respect to image data then identifies the z-axis coordinate of the surface point. Once the surface points are identified, an analytic form may be matched to the surface. In some embodiments, we may assume an over-determined system. In some embodiments and for some image types, a quadratic form works well, however, other orders of surfaces, such as cubic and quartic may be used.

In some embodiments of the present invention a biquadratic surface may be used, which can be specified by the following implicit form: f(x,y)=Ax ² +Bxy+Cy ² +Dx+Ey+F.

The value of this form at the x-y coordinates of each model illuminant is given by: AV=Z, where A is the so-called design matrix and V is a vector of surface parameters. In some embodiments, V is chosen so as to minimize the error between this analytic form and the corresponding match surface values.

One well-known technique for minimizing the sum of squared errors for such a system is the pseudoinverse method. Note that because the chromaticity coordinates of the model set are all determined a priori, the pseudoinverse matrix can be computed entirely offline. Some embodiments of the present invention use this method, which comprises the following steps.

Generally steps 1 and 2 will be performed offline, however, they may be performed online as well when resources and time constraints allow.

-   -   1) Form the design matrix for the predetermined set of model         illuminants, based on each model's chromaticity coordinates.         This can be a matrix of monomial basis functions in the         chromaticity coordinates of each illuminant. For a quadratic         form it is defined as follows: $A = \begin{bmatrix}         x_{1}^{2} & {x_{1}y_{1}} & y_{1}^{2} & x_{1} & y_{1} & 1 \\         x_{2}^{2} & {x_{2}y_{2}} & y_{2}^{2} & x_{2} & y_{2} & 1 \\         \quad & \quad & \vdots & \quad & \quad & \quad \\         x_{n}^{2} & {x_{n}y_{n}} & y_{n}^{2} & x_{n} & y_{n} & 1         \end{bmatrix}$     -   2) Compute the Moore-Penrose pseudoinverse of the design matrix.         For a quadratic form this is a 6×N matrix where N is the number         of illuminant models. It is defined as:         Σ=(A ^(T) A)⁻¹ A ^(T)

The following steps are generally performed online.

-   -   3) Form the image histogram and compute the corresponding match         surface over the model set (e.g. as shown in FIG. 2). The vector         of match scores corresponding to the N illuminants may be         designated as follows: $Z = \begin{bmatrix}         \chi_{1}^{2} \\         \chi_{2}^{2} \\         \quad \\         \chi_{n}^{2}         \end{bmatrix}$     -   4) Find the minimum value χ_(m) ² of Z and the chromaticity         coordinates x_(min)=[x_(m) y_(m)]^(T) of the associated         illuminant.     -   5) Compute the parameter vector V=[A B C D E F]^(T) for the         best-fit least-squares approximating surface as follows:         V=ΣZ     -    The best fit surface is then given as:         f(x,y)=V ^(T) X, with X=[x ² xy y ² x y 1]^(T)     -    Other surface fit methods may be used in other embodiments.     -   6) Form the partial derivatives of the resulting surface with         respect to x and y and set these equal to zero, since these         derivatives vanish at the extremum.         $\frac{\partial f}{\partial x} = {{{2{Ax}} + {By} + D} = 0}$         $\frac{\partial f}{\partial y} = {{{Bx} + {2{Cy}} + E} = 0}$     -    In matrix notation this can be written simply as:         ${Jx} = {{K\quad{{{or}\quad\begin{bmatrix}         {2A} & B \\         B & {2C}         \end{bmatrix}}\begin{bmatrix}         x \\         y         \end{bmatrix}}} = \begin{bmatrix}         {- D} \\         {- E}         \end{bmatrix}}$     -   7) Solve for the chromaticity coordinates x=[x y]^(T) of the         minimum point of the analytic form. $\begin{bmatrix}         x \\         y         \end{bmatrix} = {{\frac{1}{{4{AC}} - B^{2}}\begin{bmatrix}         {2C} & {- B} \\         {- B} & {2A}         \end{bmatrix}}\begin{bmatrix}         {- D} \\         {- E}         \end{bmatrix}}$     -    In alternative embodiments, maximum points may be used to         determine the best match.     -   8) If the resulting point is closer to the reference illuminant         than minimum model point x_(min), set the scene illuminant to         coordinates of the analytic minimum, x₀=x; otherwise set it to         the coordinates of the minimum-distance model, x₀=x_(min). This         selection criterion always chooses the more conservative         correction, which may be a good strategy in practice. However,

In some embodiments, once the chromaticity coordinates of the scene illuminant are estimated, the corresponding correction matrix can be computed in any of a number of ways. For example, if a linear model of surface reflectances and illuminants is used, one might first transform the scene illuminant xyY coordinates (x₀ y₀ 1)^(T) to the corresponding tri-stimulus XYZ value {overscore (x)}₀=(X₀ Y₀ Z₀)^(T) and then use the following equations to derive the corresponding correction matrix C for the scene illuminant. w _(E0)=(TB _(E))⁻¹ {overscore (x)} ₀ E ₀=diag(B _(E) w _(E0)) E _(ref)=diag(spd _(ref)) C=TE _(ref) B _(S)(TE ₀ B _(S))⁻¹ where

-   -   T represents a matrix of color matching functions or sensor         sensitivities     -   B_(E) represents an illuminant spectral power linear model     -   diag represents an operator that converts a vector to a diagonal         matrix     -   spd_(ref) represents a reference illuminant spectral power         distribution     -   B_(S) represents a surface reflectance linear model

In other embodiments, other selection criteria can be used. In some embodiments, the analytic minimum may be selected if it occurs within the hull of the model set. If the analytic minimum does not fall within the hull of the model set, the minimum model value may be selected. In still other embodiments, exterior analytic minima can be projected along the line to the daylight reference and the intersection of this line with the hull of the model set can be the selected point.

In other embodiments color coordinates may be represented in a three dimensional colorspace, with corresponding three-dimensional image and model color distributions and corresponding higher dimensional design matrices.

. In some embodiments, the analytic form can be resolved to an arbitrary accuracy by first employing differential geometry to locate the extremum of the form and then using interpolation to derive the corresponding illuminant parameters or colorbalance correction parameters for this location.

Embodiments of the present invention also offer the possibility of decreasing the size of the model base and consequently decreasing the time and/or resources required for the match step. This is because the accuracy of the illuminant parameter estimation is not directly constrained by the number of models. Only enough models to ensure the stability of the analytic fit are required.

Algorithms of embodiments of the present invention may be implemented in software on a general-purpose computer or on a special-purpose computing device such as a DSP. Embodiments may also be implements by dedicated circuitry such as an ASIC. Embodiment processes may be implemented in any image processing pipeline that outputs an image for display, for retrieval, for indexing or for other purposes. 

1. A method for estimating an image illuminant, the method comprising: forming an illuminant set comprising data describing a plurality of candidate illuminants; analyzing an image in relation to said plurality of candidate illuminants to determine a plurality of match scores for said plurality of candidate illuminants; fitting a surface to said plurality of match scores, said surface representing illuminant values other than said candidate illuminants; and determining a point on said surface, said point corresponding to the data representing a likely illuminant for said image.
 2. A method as described in claim 1 wherein said illuminant set is a design matrix for a predetermined set of illuminants.
 3. A method as described in claim 1 wherein said illuminant set is a matrix of monomial basis functions in the color coordinates of each of said candidate illuminants.
 4. A method as described in claim 1 wherein said analyzing comprises forming an image histogram of image element color coordinates relative to color coordinate distributions under said candidate illuminants.
 5. A method as described in claim 1 wherein said fitting a surface comprises a best-fit least squares method.
 6. A method as described in claim 1 wherein said fitting a surface comprises taking a weighted average of the match scores of the candidate illuminants.
 7. A method as described in claim 1 wherein said determining a point on said surface comprises locating surface extremum.
 8. A method as described in claim 7 wherein said method of locating said surface extremum comprises forming derivatives of said surface and setting them equal to zero to locate surface extremum.
 9. A method as described in claim 1 wherein said determining a point on said surface comprises solving for the color coordinates of an extrema on said surface and, choosing the point of the extrema when the coordinates of said extrema are closer to the reference illuminant coordinates than the closest candidate illuminant coordinates; or choosing the point of the closest candidate illuminant coordinates when the closest candidate illuminant coordinates are closer to the reference illuminant that the extrema.
 10. A method for estimating an image colorbalance correction, the method comprising: forming an illuminant set comprising data describing a plurality of candidate colorbalance corrections; analyzing an image in relation to said illuminant set to determine a plurality of match scores for said plurality of candidate colorbalance corrections; fitting a surface to said plurality of match scores, said surface representing colorbalance correction values other than said candidate colorbalance corrections; and determining a point on said surface, said point corresponding to the data representing a likely colorbalance correction for said image.
 11. A method for estimating an image illuminant, the method comprising: forming a design matrix comprising the parameters of a plurality of candidate illuminants; computing an image histogram comprising data relating the frequency of image element color values to color values found under said candidate illuminants; determining match scores for said plurality of candidate illuminants; fitting a surface to said match scores, said surface representing illuminant parameter values other than said candidate illuminants; solving for an extremum of said surface; and choosing the coordinates of said extremum as the parameters of an estimated image illuminant.
 12. A system for estimating an image illuminant, the method comprising: an illuminant set comprising data describing a plurality of candidate illuminants; an analyzer for analyzing an image in relation to said plurality of candidate illuminants to determine a plurality of match scores for said plurality of candidate illuminants; a fitter for fitting a surface to said plurality of match scores, said surface representing illuminant values other than said candidate illuminants; and a processor for determining a point on said surface, said point corresponding to the data representing a likely illuminant for said image.
 13. A set of executable instructions for estimating an illuminant of an image, said instructions comprising the acts of: forming an illuminant set comprising data describing a plurality of candidate illuminants; analyzing an image in relation to said plurality of candidate illuminants to determine a plurality of match scores for said plurality of candidate illuminants; fitting a surface to said plurality of match scores, said surface representing illuminant values other than said candidate illuminants; and determining a point on said surface, said point corresponding to the data representing a likely illuminant for said image. 